package com.thesis.manage.service;

import com.github.pagehelper.PageInfo;
import com.thesis.manage.common.service.BaseService;
import com.thesis.manage.domain.Teacher;
import com.thesis.manage.service.module.vo.TeacherVO;
import org.springframework.data.domain.Pageable;
import org.springframework.web.multipart.MultipartFile;

/**
 * @author php
 * @date 2018/1/23
 */
public interface TeacherService extends BaseService<Teacher> {
    /**
     * 通过教师号查询
     *
     * @param teacherNumber 教师号
     * @return teacher
     */
    Teacher findByTeacherNumber(String teacherNumber);

    /**
     * 导入数据
     *
     * @param file 数据文件
     */
    void importExcel(MultipartFile file);

    /**
     * 授权
     *
     * @param id     用户id
     * @param isAuth 是否授权
     * @param rid    权限id
     */
    void authorization(Long id, Integer isAuth, Long rid);

    /**
     * 查询信息（包含权限信息）
     *
     * @param pageable 分页参数
     * @return PageInfo
     */
    PageInfo<TeacherVO> detail(Pageable pageable);

    /**
     * 获取详细信息
     *
     * @param id id
     * @return teacherVO
     */
    TeacherVO info(Long id);

    /**
     * 查询老师 （通过院系）
     *
     * @param collegeName 院系名称
     * @param pageable    分页参数
     * @return pageInfo
     */
    PageInfo<TeacherVO> listByCollegeName(String collegeName, Pageable pageable);
}
